/*
 * CourseCategoryMapper.java
 * Copyright(C) 2020-2099 WYY
 * All rights reserved.
 * -----------------------------------------------
 * 2020-04-14 Created
 */
package com.project.web.course.mapper.app;

import com.project.web.course.model.app.CourseCategory;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 课程类目分类
 */
public interface CourseCategoryMapper {

    /**
     * 根据ID删除
     *
     * @param categoryid 主键ID
     * @return
     */
    int delete(@Param("categoryid") String categoryid);

    /**
     * 保存对象
     *
     * @param courseCategory 课程分类对象
     * @return
     */
    int save(CourseCategory courseCategory);

    /**
     * 更新对象
     *
     * @param courseCategory 系统用户对象
     * @return
     */
    int update(CourseCategory courseCategory);

    /**
     * 根据ID查询对象
     *
     * @param categoryid 主键ID
     * @return
     */
    CourseCategory getById(@Param("categoryid") String categoryid);

    /**
     * 动态查询
     *
     * @param courseCategory 实体对象
     * @return
     */
    List<CourseCategory> selectList(CourseCategory courseCategory);


    /**
     * 根据类目ID查询所有子节点
     *
     * @param categoryId 类目ID
     * @return
     */
    List<CourseCategory> getChildByCategoryId(String categoryId);

    /**
     * 根据类目ID查询所有子节点
     *
     * @param getByParentId 类目ID
     * @return
     */
    List<CourseCategory> getByParentId(String getByParentId);

    /**
     * 获取所有节点
     *
     * @return
     */
    List<CourseCategory> getAll();

    /**
     * 根据类型获取所有子节点
     *
     * @param isSpecial
     * @return
     */
    List<CourseCategory> getChildByType(Integer isSpecial);
}